package cn.tedu.oop;
/**本类用于测试final关键字*/
public class TestFinal {
    public static void main(String[] args) {
        Son2 s = new Son2();
        s.work();
        System.out.println(s.CAR_AGE);
    }
}
/**1.final可以用来修饰类，被final修饰的类是最终类，不可以被继承
 * 可以把被final修饰的类看成树结构中的叶子结点*/
//final class Father2{}
class Father2{
    /**2.final可以用来修饰方法，被final修饰的方法是这个方法的最终实现，不可以被重写*/
//   public final void work(){
     public void work(){
       System.out.println("在工厂上班~");
   }
}
class Son2 extends Father2{
    /**3.被final修饰的是常量，常量的值不可以被修改
     * 注意:常量的名称必须是全大写，单词之间使用下划线分隔
     * 注意:常量的定义，不管是成员位置还是局部位置，必须手动初始化(赋值)，并且不能修改*/
    final int CAR_AGE = 88;//成员变量
    @Override//注解，标记这是一个重写的方法
    public void work(){
        System.out.println("在互联网大厂上班~");
//        CAR_AGE = 99;
        System.out.println(CAR_AGE);
        final int CAR_AGE = 99;//局部变量
        System.out.println(CAR_AGE);
    }
}
